"""
@breif
救急用的通信代码

@desctiption
为今年比赛编写的通信代码communication.py出了难以修复的bug，考虑到去年比赛使用
的通信代码原理相同，运行稳定，虽然丑陋，但是好用，因此将其复制过来不做改动(
除了一些常量)地保存为communication2019.py，并在本文件中做一些适配，以便适应
新的设计。而原来的communication.py则更名为communication_with_bug.py，留而不用。

@author Stone at BlueNet, GDOU
@date Nov. 2020
"""
import communication2019 as commu2019
from communication_with_bug import DataFrame


class Communication(commu2019.Communication):
    
    def read_data(self):
        label, values = self.read_frame()
        if label:
            return DataFrame(label=label, values=values)
        else:
            return None
    
    def write_data(self, label, values=None):
        if values == None:
            values = []
        self.write_frame(label, values)


if __name__ == '__main__':
    with Communication('com3') as comm:
        comm.write_data('X', [50.50, 60.66])
        for i in range(100):
            comm.write_data('X', [50.50, 60.66])
            print(comm.read_data())


